// Matriz.h: interface for the Matriz class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MATRIZ_H__B223C039_2F12_4DF3_9476_4A27AD7A5E26__INCLUDED_)
#define AFX_MATRIZ_H__B223C039_2F12_4DF3_9476_4A27AD7A5E26__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

const int MaxRango = 50;

class Matriz  
{
public:
	Matriz(unsigned, unsigned);
	virtual ~Matriz();
	void Asignar(unsigned, unsigned, double);
	unsigned CantFilas();
	unsigned CantColum();
	double Elemento(unsigned, unsigned);
	bool operator == (Matriz);
	bool operator != (Matriz);
	bool EsNula();
	Matriz operator+ (Matriz);
	Matriz operator- (Matriz);
	Matriz operator* (Matriz);
	Matriz& operator= (Matriz);
	void ProductoEscalar(double, Matriz &A);
	void Nula(unsigned, unsigned);

protected: 
	unsigned cantFilas;
	unsigned cantColum;
	double matrix[MaxRango][MaxRango];

private:
	Matriz();
};

#endif // !defined(AFX_MATRIZ_H__B223C039_2F12_4DF3_9476_4A27AD7A5E26__INCLUDED_)
